- Pipelining
- Pipelining[dt. »Installation von (Rohr)leitungen«, »Arbeiten mit Leitungen«] (Pipeline Processing, Pipeline-Verarbeitung), die überlappende Verarbeitung von Maschinenbefehlen in den unterschiedlichen Funktionseinheiten des Prozessors, manchmal auch Verarbeitung nach dem Fließbandprinzip genannt. Beim Pipelining wird ein Maschinenbefehl in mehrere Teile zerlegt, und diese Teilbefehle werden um jeweils einen Arbeitsschritt versetzt verarbeitet, wobei sich die Schritte überlappen. Dadurch ergibt sich eine Verkürzung der Verarbeitungszeit für den Gesamtbefehl. Mögliche für eine solche überlappende Behandlung geeignete Verarbeitungschritte sind:- Lesen (Holen) des Befehls aus dem Arbeitsspeicher,- Interpretation (Dekodierung) des Befehls,- Ausführen des Befehls,- Rückschreiben des Befehls,- Speicheradressierung (Adressen).Die Abfolge der Teilschritte bildet den sog. Maschinenbefehlszyklus. Die einzelnen Schritte werden so gewählt, dass sie in sich abgeschlossene logische Einheiten bilden, wobei je nach Befehlstyp auch ein Schritt übersprungen werden kann. Die Teilschritte werden in unabhängigen Registern ausgeführt und können sich, wieder je nach Befehlstyp, mehr oder weniger stark überlappen. Je größer die Überlappung, desto höher die Parallelität der Schritte und desto größer die Hardware-Anforderungen und der Koordinationsaufwand.Bei den heutigen Prozessoren ist es üblich, die Abarbeitung eines Maschinenbefehls auf mehr als ein Dutzend Teilschritte zu verteilen (Superpipelining), um ein besonders hohes Maß an Parallelität und damit eine möglichst große Verarbeitungsgeschwindigkeit zu erzielen. Hohe Taktraten und die Verarbeitung von mehreren Teilschritten pro Takt sorgen zusätzlich für eine Leistungssteigerung.Wenn gerade so viele Befehle überlappend bearbeitet werden, wie ein einzelner Befehl Teile hat, und die Zugriffe auf die Daten schnell genug erfolgen (über Zwischenspeicher, Cache), kann bei jedem Takt ein kompletter neuer Befehl geladen werden. Es gibt dann keine Wartezeiten (Waitstates), der Prozessor wird als fully pipelined (dt. »völlig in Pipelines eingeteilt«) bezeichnet. Viele neuere Prozessoren wie der Pentium 4 kombinieren Pipelining bzw. Superpipelining mit Sprungvorhersagen (Branch Predictions), um noch größere Verarbeitungsgeschwindigkeiten zu erreichen.
Universal-Lexikon. 2012.